1. Technical Field
The embodiments described herein are related to interfacing with products and other items to obtain data related to the item, and more specifically to systems and methods for determining what application to use in conjunction with data read from an Radio Frequency Identification (RFID) transponder.
2. Related Art
There are several technologies that can be associate with, e.g., a product or item in order to provide information related to the item. For example, bar codes, QR codes and RFID transponders can be placed on or attached to the product or item. Specifically, passive RFID transponders or “tags” are often attached to or embedded in objects like clothing, product packaging, paper, and the like in order to uniquely identify each “tagged” item. RFID tags typically include a small amount of memory that permit a data payload to be stored inside of the tag. These RFID tags also often provide a locking mechanism to prevent tampering by physically prohibiting any future write operations against the data payload stored on the tag. Once an RFID tag is written and its payload is locked, updates are no longer physically possible to the tag's payload.
An RFID system comprises one or more tags or transponders that are as noted, somehow associated with an object or objects, and one or more readers or interrogators configured to read information out of the tag. The reader reads information by broadcasting a Radio Frequency (RF) signal over certain range and frequency. When a tag is within range of the reader and receives the signal, it can reflect that signal back to the reader in order to communicate with the reader. In order to communicate, the reader may put certain commands on the RF signal, and the tag can respond by putting information stored in the tag onto the signal that is reflected back to the reader.
RFID systems can employ various types of technology including active technology, semi-active technology and passive technology. Active and semi-active systems include a battery within the tag. In passive systems, no battery is included in the tag. Rather, the tag receives all the energy it needs from the received RF signal. Because passive tags do not include a battery, they can be made smaller, are less expensive than active or semi-active tags, and can also provide much more flexibility to design tags to meet various application and environmental requirements. While passive tags typically cannot communicate over as long a distance, the size, cost, and flexibility provided by passive tags make them much more attractive for many applications.
RFID systems can also operate over many frequency ranges and in accordance with several communication protocols. A couple of the most common frequency ranges are the High Frequency (HF) band (13.56 MHz) and Ultra-High Frequency (UHF) band (865-928 MHz). HF systems can operate over shorter ranges, e.g., 10 cm-1 m, and at lower data rates, whereas the UHF systems can operate over longer ranges 1-12 m, and at higher data rates.
Near Field Communication (NFC) systems are examples of HF systems. NFC is a set of standards for smartphones and similar devices to establish radio communication with each other by touching them together or bringing them into proximity, usually no more than a few inches. Present and anticipated applications include contactless transactions, data exchange, and simplified setup of more complex communications such as Wi-Fi. Communication is also possible between an NFC device and an unpowered NFC chip in a tag.
NFC standards cover communications protocols and data exchange formats, and are based on existing radio-frequency identification standards including ISO/IEC 14443 and FeliCa. The standards include ISO/IEC 18092[4] and those defined by the NFC Forum, which was founded in 2004 by Nokia, Philips and Sony, and now has more than 160 members. The Forum also promotes NFC and certifies device compliance. It fits the criteria for being considered a personal area network.
NFC builds upon RFID systems by allowing two-way communication between endpoints, where earlier systems such as contact-less smartcards were one-way only. NFC devices can also be used in contactless payment systems, similar to those currently used in credit cards and electronic ticket smartcards, and allow mobile payment to replace or supplement these systems. For example, Google Wallet allows consumers to store credit card and store loyalty card information in a virtual wallet and then use an NFC-enabled device at terminals that accepts, for example, MasterCard PayPass transactions. The NFC Forum also promotes the potential for NFC-enabled devices to act as electronic identity documents and keycards. As NFC has a shorter range and supports encryption, it is generally better suited than earlier, less private RFID systems for exchanging sensitive data such as personal finance and identification.
While there are many uses for HF technologies such as NFC, UHF technologies typically support longer range communication and higher data rates. Thus, UHF technology tends to excel in applications that include but is not limited to tolling and electronic vehicle registration, asset supervision, and supply chain management
Thus, the ISO/IEC 14443 standard, for example, defines the transmission protocol that allows the tag and the reader to effectively communicate back and forth. Per the standard, a sequence of transmitted radio instructions from the reader to the tag instructs the tag to either read data off the tag or, if the tag isn't locked, write data on the tag.
In the case of, e.g., NFC tags, an additional standard exists that sits atop of the ISO/IEC 14443 standard. The NFC Data Exchange Format (NDEF) technical specification describes a “storage format” that enables and supports the writing of multiple, possibly unrelated, records to the RFID tag. NDEF is but one example of complimentary storage format specification that sit on top of the lower level communications protocol, e.g., ISO/IEC 14443, being implemented. For example, GS1 is an industry consortium that has defined an open standard storage format known as the Electronic Product Code (EPC). The open source EPC storage format specification for RFID tags targets those tags typically designed to operate in the UHF frequency band, in contrast to NFC tags designed to work in the HF frequency band.
Popular operating systems, such as Google's Android operating system, provide intrinsic support for working with RFID tags. These various operating systems engage an RFID reader subsystem using the ISO/IEC 14443 transmission protocol. When the subsystem reads data off of the RFID tag, it is handed back to the operating system in its “raw” form. It is the responsibility of the operating system to know how to translate the data packets based on the tag's specific storage format, like NDEF or EPC. Once the “raw” packets are interpreted per the storage format specification, the operating system makes a so-called routing determination.
A “routing determination” is a decision tree that identifies which single application installed on the operating system should be handed the RFID tag and its data payload for further application-specific processing. When no application on the operating system is actively in focus and running in the forefront, the decision trees of the operating systems are well documented to base a routing determination using the first record read off the tag. This approach simplifies the decision for the operating systems; they do not need to deal with any conflict resolution should multiple applications simultaneously ask to be brought to the forefront to process the application.
In cases where a focus conflict cannot be resolved automatically by the operating system, the end user of the device is typically presented with an option to determine which single application they want to be given the RFID tag and its data payload for application specific processing.
FIG. 1 is a block diagram illustration a conventional RFID transponder/reader system 100. As can be seen, system 100 can comprise a RFID transponder 102 that is configured to implement a particular communication protocol, such as ISO 14443, and a particular storage format, such as NDEF or EPC. A device 105 can comprise a RFID reader 104 configured to read data out of the tag using the communication protocol, and then provide the data to the Operating System (OS) 106. An RFID routing subroutine 107, which can be configured to implement the routing determination decision tree in order to select one of application 108-110 for handling the data. Application 108-110 can for example comprise one or more browser applications and one or more custom applications.
A conventional OS 106 attempts to automatically interpret and route an RFID tag event, or it defers to the end user of the device to make a selection when multiple applications 108-110 express simultaneous interest in a single RFID tag based on the first record read off the tag. The problem with this approach is that an application is only given the ability to express its interest in receiving the event based on the first record of data interpreted by the operating system. In most business applications, especially considering the preponderance of applications installed on today's mobile devices that are capable of providing application-specific processing of RFID tag data, this is a major limitation.
Similar data handling can occur for, e.g., data from a barcode or QR code.